package com.mikao.dao;

import com.mikao.entity.UserTicket;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;

import java.util.List;

/**
 * @author kenny
 */
public interface UserTicketDao extends JpaRepository<UserTicket, Long>, JpaSpecificationExecutor {

    /**
     * 查询用户是否领取过某个优惠券并是否使用
     *
     * @param userId   用户ID
     * @param ticketId 优惠券ID
     * @param status   状态
     * @return userticket
     */
    UserTicket findAllByUserIdAndAndTicketIdAndStatus(Long userId, Long ticketId, Boolean status);

    /**
     * 查询某个用户的未使用的优惠券列表
     *
     * @param userId 用户ID
     * @param status 状态
     * @return list
     */
    List<UserTicket> findAllByUserIdAndStatus(Long userId, Boolean status);

    /**
     * 查询某个用户所有优惠券
     *
     * @param userId ID
     * @param status 状态
     * @return list
     */
    List<UserTicket> findAllByUserIdAndStatusOrderByCreateTimeDesc(Long userId, Boolean status);
}
